/**
 * @author Tobias Boehm
 *
 * 29.03.2011
 */
package org.anddev.andengine.extension.tbsengine.gameobject.ability;

import org.anddev.andengine.entity.sprite.Sprite;
import org.anddev.andengine.extension.tbsengine.gameobject.Unit;

/**
 * This class represents an abstract {@link Unit} ability. It is the basis for
 * all further developed ability types such as {@link AttackAbility} or {@link MovementAbility}.
 * 
 * @author Tobias Boehm
 *
 */
public abstract class AbsAbility {

	protected final String mName;
	protected final String mDescription;
	protected final Sprite mIcon;
	
	public AbsAbility(final String pName, final String pDescription, final int pIconTileID){
		
		this.mName = pName;
		
		this.mDescription = pDescription;
		
		this.mIcon = this.loadIcon(pIconTileID);
	}
	
	private Sprite loadIcon(final int pIconTileID){
		
		// TODO: implement sprite loading
				
		return mIcon;
		
	}
}
